package org.bugjail.dataaccess.objects;

import org.bugjail.data.Person;
import org.bugjail.data.Suite;
import org.bugjail.data.TestCase;
import org.bugjail.data.TestCaseExecution;
import org.bugjail.data.TestDesign;
import org.bugjail.data.TestRound;

import java.util.List;

public interface TestCaseExecutionDAO extends BasicDAO<TestCaseExecution> {
	public void createBasedOnSuiteList(List<Suite> suites, TestRound testRound, Person assignedUser);
	public void createBasedOnTestDesignList(List<TestDesign> testDesigns, TestRound testRound, Person assignedUser);
	public void deleteBasedOnSuiteList(List<Suite> suites, TestRound testRound);
	public void deleteBasedOnTestDesignList(List<TestDesign> testDesigns, TestRound testRound);
	public void deleteBasedOnList(List<TestCaseExecution> tces);
	public List<TestCaseExecution> retrieveByTestRound(TestRound testround);
	public List<TestCaseExecution> retrieveExecutionsOfTestCase(TestCase tc);
	public void execute(TestCaseExecution tce);
	public void createBasedOnTestCaseList(List<TestCase> tceList, TestRound testRound, Person assignedUser);
	public TestCaseExecution retrieveByTestCaseOnTestRound(TestCase tc,
			TestRound testRound);
	public void assignTestCaseExecutionListToPerson(List<TestCaseExecution> tces, Person person);
}
